    //位域实例
#include <stdio.h>

struct k
{
    unsigned a:2;    //占前2位 0 ~ 3
    unsigned b:2;    //占a后2位 0 ~ 3
    unsigned c:1;    //占b后1位 0 ~ 1
};


// struct k
// {
//     char a:2; //占前2位 -2 ~ 1
//     char b:2; //占a后2位 -2 ~ 1
//     char c:1; //占b后1位 -1 ~ 0
// };
int main()
{
    struct k k1;
    k1.a = 2;
    k1.b = 5;
    k1.c = 2;
    printf("%d %d %d\n",k1.a,k1.b,k1.c); //  回环
}